<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller {

    function __construct()
    {
        parent::__construct();	
        $this->load->database();
        $this->load->helper(array('url', 'form'));
        $this->load->library('form_validation');
        $this->load->library('session');
    }
    
    public function index()
    {
        $data['error'] = null;
  
        $this->form_validation->set_error_delimiters('<div class="error">', '</div>');
        $this->form_validation->set_rules('login', 'Nombre Usuario', 'required');
        $this->form_validation->set_rules('password', 'contraseña', 'required');
        
        $this->form_validation->set_message('required', 'Debe introducir el campo %s');

        if ($this->form_validation->run() == FALSE)
        {
            $datos_plantilla["cuerpo"] = $this->load->view('login_view', $data, true);
            $datos_plantilla["titulo"] = "Ingreso Sistena Contabilidad ITCONT";
      
            $this->load->view('template/templateInicio', $datos_plantilla);
        }
        else
        {
            $this->load->model('con_usuario');
             
            $rutCompleto = $this->input->post('login');
            $password= $this->input->post('password');
            
            $rutCompleto=strtoupper(ereg_replace('\.|,|-','',$rutCompleto));
            $rut=substr($rutCompleto,0,strlen($rutCompleto)-1);
            $dv=substr($rutCompleto,-1);
            
            $valido=false;
                    
            if($this->con_usuario->valida_rut($rut,$dv)){                
                $usuario = $this->con_usuario->get_usuario($rut);
                                
                if(!is_null($usuario)){
                    if($usuario->password==$password){
                                                  
                        $this->load->model('con_empresa');
                        $this->load->model('con_modulo');
                        $this->load->model('con_permiso');
                        
                        $empresas_usuario =  $this->con_empresa->get_by_usuario($usuario->id_usuario)->result_array();
                        $modulos_sistema = $this->con_modulo->get_all()->result_array();   
                        $perfiles_usuario = $this->con_usuario->get_perfiles($usuario->id_usuario)->result_array();          
                        
                        $modulos_sistema_permisos= array();
                        
                        $i=0;
                        foreach ($modulos_sistema  as $modulo){ 
                            $modulo['permiso']=false;
                            foreach ($perfiles_usuario  as $perfil){ 
                                if($this->con_permiso->get_permiso($modulo['id_modulo'],$perfil['id_perfil'])){
                                    $modulo['permiso']=true;
                                }
                            }
                            $modulos_sistema_permisos[$i]= $modulo;
                            
                            $i++;
                        }
                        
                        $usuario_data = array(
                                           'nombre'    => $usuario->nombres . ' ' . $usuario->apellidos,
                                           'rut'       => $usuario->rut,
                                           'dv'        => $usuario->dv,
                                           'email'     => $usuario->email,
                                           'id_usuario'=> $usuario->id_usuario,
                                           'empresas'  => $empresas_usuario,
                                           'modulos'   => $modulos_sistema_permisos,
                                           'perfiles'  => $perfiles_usuario,
                                           'nm_empresa_contab' =>$usuario->nm_empresa_contab,
                                           'id_empresa_contab' =>$usuario->id_empresa_contab                            
                                        );      
                        
                       
                        
                        $this->session->set_userdata('usuario_session',$usuario_data);
                        $valido = true;
                    }else{
                        $data['error'] = "La contraseña no corresponde";
                        $valido = false;
                    }
                }else{
                    $data['error'] = "El usuario no existe";
                    $valido = false;
                }
            }else{
                $valido = false;
                $data['error'] = "RUT no válido";
            }
            
            if($valido){
                $data="";
                $datos_plantilla["cuerpo"] = $this->load->view('inicio_contab', $data, true);
                $datos_plantilla["titulo"] = "Sistena Contabilidad ITCONT";

                $this->load->view('template/templateMenuInicio', $datos_plantilla);   
                    
            }else{                
                
                $datos_plantilla["cuerpo"] = $this->load->view('login_view', $data, true);
                $datos_plantilla["titulo"] = "Ingreso Sistena Contabilidad ITCONT";

                $this->load->view('template/templateInicio', $datos_plantilla);                    
            }
        }
                
        
    }
}

/* End of file welcome.php */
/* Location: ./application/controllers/iniciocontab.php */